package cn.b.sky.mes.mm.service;

import java.util.List;

import cn.b.sky.mes.mm.model.Safetyinventroy;
import cn.b.sky.mes.mm.model.condition.SafetyinventroyCondition;

public interface SafetyinventroyService {

  /**
   * 
   * <strong>Title : getSafetyinventroysByCondition<br></strong>
   * <strong>Description : </strong>条件查询安全库存<br> 
   * <strong>Create on : 2016-3-4 下午1:55:10<br></strong>
   * <p>
   * @param condition
   * @return
   * List<Safetyinventroy>
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br> 
   * <br>
   */
  public List<Safetyinventroy> getSafetyinventroysByCondition(SafetyinventroyCondition condition);

  /**
   * 
   * <strong>Title : getSafetyinventroyCountByCondition<br></strong>
   * <strong>Description : </strong>查询安全库存数量<br> 
   * <strong>Create on : 2016-3-4 下午1:55:23<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public int getSafetyinventroyCountByCondition(SafetyinventroyCondition condition);

  /**
   * 
   * <strong>Title : getSafetyinventroyBySafetyinventroyCode<br></strong>
   * <strong>Description : </strong>查询单个安全库存<br> 
   * <strong>Create on : 2016-3-4 下午1:55:38<br></strong>
   * <p>
   * @param siteCode
   * @param id
   * @return
   * Safetyinventroy
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public Safetyinventroy getSafetyinventroyByPk(String siteCode, Long id);

  /**
   * 
   * <strong>Title : saveSafetyinventroy<br></strong>
   * <strong>Description : </strong>保存安全库存<br> 
   * <strong>Create on : 2016-3-4 下午1:56:00<br></strong>
   * <p>
   * @param safetyinventroy
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public void saveSafetyinventroy(Safetyinventroy safetyinventroy);

  /**
   * 
   * <strong>Title : modifySafetyinventroy<br></strong>
   * <strong>Description : </strong>修改安全库存<br> 
   * <strong>Create on : 2016-3-4 下午1:56:11<br></strong>
   * <p>
   * @param safetyinventroy
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public void modifySafetyinventroy(Safetyinventroy safetyinventroy);

  /**
   * 
   * <strong>Title : deleteSafetyinventroyBySiteCodeAndId<br></strong>
   * <strong>Description : 删除</strong><br> 
   * <strong>Create on : 2016-3-4 下午1:56:25<br></strong>
   * <p>
   * @param siteCode
   * @param id
   * @return
   * String
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public String deleteSafetyinventroyBySiteCodeAndId(String siteCode, Long id);

  /**
   * 
   * <strong>Title : isSetStorageLocationAndWarehouseCode<br></strong>
   * <strong>Description : 检查此物料是否即设置了库位又设置了仓库安全级别 
   * <strong>Create on : 2016-3-4 下午6:46:49<br></strong>
   * <p>
   * @param safetyinventroy
   * @return
   * boolean
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人    |    修改日期    |    修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public boolean isSetStorageLocationAndWarehouseCode(Safetyinventroy safetyinventroy);

  /**
   * 
   * <strong>Title : getSafetyInventory<br></strong>
   * <strong>Description : </strong>根据物料、仓库、库位查找安全库存<br> 
   * <strong>Create on : 2016年9月18日 下午2:05:27<br></strong>
   * <p>
   * @param condition
   * @return
   * Safetyinventroy
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public Safetyinventroy getSafetyInventory(SafetyinventroyCondition condition);

}
